La philosophie du « Fichier comme vérité »
La fondation d'OpenClaw repose sur la philosophie Markdown en premier. Contrairement aux systèmes classiques d'IA en boîte noire, OpenClaw traite la configuration comme une documentation. Chaque aspect de l'existence d'un agent — son identité, ses capacités et ses flux opérationnels — est stocké dans des fichiers Markdown lisibles par l'humain. Cela garantit que la « source de vérité » est transparente, contrôlée par version et facilement modifiable tant par les humains que par les LLM.
- SOUL.md : L'identité fondamentale et le jugement moral.
- SKILL.md : Le manifeste définissant ce que l'agent peut effectivement faire.
- AGENTS.md : Le plan d'ingénierie pour l'orchestration multi-agents.
La pile d'infrastructure centrale
Pour passer de fichiers statiques à un agent vivant, OpenClaw utilise une architecture backend solide conçue pour la stabilité et la flexibilité :
- Runtime de l'agent: La pièce maîtresse qui gère la file d'attente Lane. Elle assure que les tâches asynchrones soient traitées sans provoquer de corruption d'état, tout en maintenant isolation de session à travers chaque interaction.
- Gateway: Le plan de contrôle qui gère l'identité réseau et le routage des modèles. Il agit comme un bouclier de sécurité, atténuant les risques tels que exécution de code à distance (RCE) sur l'API WebSocket.
- Couche Outils : Une interface modulaire où l'agent se connecte à des fonctions externes, des API et des scripts locaux définis dans le manifeste des compétences.
- Moteur indépendant du modèle: Le système n'est pas verrouillé à un seul fournisseur. Il peut basculer entre Claude, GPT ou des modèles locaux via le openclaw.json routeur.
- Surfaces et canaux : Ce sont les points d'interaction (interface web, terminal ou mobile) où l'agent se manifeste à l'utilisateur.
Configuration : openclaw.json
{
"identite_reseau": "agent-01-alpha",
"routing_modele": {
"primaire": "anthropic/claude-3-opus",
"secours": "local/llama-3-8b"
},
"injection_env": {
"pass_secure": vrai,
"politique": "prevenir_fuite"
}
}
Saisissez une commande...
Question 1
Pourquoi OpenClaw privilégie-t-il la philosophie Markdown en premier ?
Question 2
Quel composant est responsable d'éviter la corruption d'état lors des tâches multi-agents ?
Défi : Violation de sécurité
Atténuer les risques RCE sur les canaux publics.
Scénario : Vous déployez un agent sur un canal Discord public. Vous remarquez que l'agent essaie d'exécuter des commandes shell non vérifiées, créant un risque de RCE (exécution de code à distance) risque.
Sécurisé
Comment utilisez-vous le Gateway et SKILL.md pour sécuriser l'infrastructure ?
Solution :
1. Niveau Gateway : Restreindre le port de l'API WebSocket (18789) au trafic local uniquement, ou implémenter des jetons d'authentification stricts.
2. Niveau SKILL.md : Définir des permissions strictes dans les métadonnées YAML de la couche Outils.
3. Niveau instruction : Mettre à jour le entonnoir de filtrage à six couches dans le manifeste des compétences afin de rejeter toute chaîne de commande contenant des opérateurs shell sensibles.
1. Niveau Gateway : Restreindre le port de l'API WebSocket (18789) au trafic local uniquement, ou implémenter des jetons d'authentification stricts.
2. Niveau SKILL.md : Définir des permissions strictes dans les métadonnées YAML de la couche Outils.
3. Niveau instruction : Mettre à jour le entonnoir de filtrage à six couches dans le manifeste des compétences afin de rejeter toute chaîne de commande contenant des opérateurs shell sensibles.